#ifndef BIOUNIT_H
#define BIOUNIT_H
#include "logic.h"
#include <QtCore>

class Logic;
class Task;
class BioUnit
{
public:
    float x,y;
    float Vx,Vy;
    Task* currentTask;
    QList<BioUnit*>* visibleList;
    double TimeOfLastUpdate;
    unsigned short  agressive,
                    metabolism,
                    invisible,
                    green,
                    search,
                    size;
    float biomass;
    Logic* logic;
    BioUnit();
    BioUnit(float x, float y,
            unsigned short agres,
            unsigned short metab,
            unsigned short inv,
            unsigned short Green,
            unsigned short search);
    BioUnit(BioUnit* unit);
    void DoThink();
    void DoThink(double lasttime);
};

class Task
{
public:
    enum Mode
    {
        Kill = 0,
        GoTo,
        Stop,
    };
    float x,y;
    Mode mode;
    BioUnit* unit;
    QTime startTime;
    Task(Mode _mode,float x, float y);
};
#endif // BIOUNIT_H
